package main

/**
 * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
 *
 * @param s string字符串 第一个整数
 * @param t string字符串 第二个整数
 * @return string字符串
 */
func solve(s string, t string) string {
	// write code here
	ns := make([]int, len(s))
	nt := make([]int, len(t))
	for i := 0; i < len(s); i++ {
		ns[i] = int(s[i] - '0')
	}
	for i := 0; i < len(t); i++ {
		nt[i] = int(t[i] - '0')
	}
	raws := make([]int, len(s)+len(t))
	for i := len(s) - 1; i >= 0; i-- {
		for j := len(t) - 1; j >= 0; j-- {
			raws[i+j+1] += ns[i] * nt[j]
		}
	}
	carry := 0
	rret := make([]rune, len(raws))
	for i := len(raws) - 1; i >= 0; i-- {
		v := (raws[i] + carry) % 10
		carry = (raws[i] + carry) / 10
		rret[i] = rune(v + '0')
	}
	if rret[0] == '0' {
		return string(rret[1:])
	}
	return string(rret)
}
